package com.ecarx.camera.constant;

import androidx.annotation.StringDef;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

public interface SpConfig {
    @Target(ElementType.PARAMETER)
    @Retention(RetentionPolicy.SOURCE)
    @StringDef({
    })
    @interface StringKey {
    }

    @Target(ElementType.PARAMETER)
    @Retention(RetentionPolicy.SOURCE)
    @StringDef({
    })
    @interface IntKey {
    }

    @Target(ElementType.PARAMETER)
    @Retention(RetentionPolicy.SOURCE)
    @StringDef({
            LongKey.PHOTO_TIMER_COUNTDOWN,
    })
    @interface LongKey {
        String PHOTO_TIMER_COUNTDOWN = "photoTimerCountdown";
    }

    @Target(ElementType.PARAMETER)
    @Retention(RetentionPolicy.SOURCE)
    @StringDef({
    })
    @interface FloatKey {
    }

    @Target(ElementType.PARAMETER)
    @Retention(RetentionPolicy.SOURCE)
    @StringDef({
            BooleanKey.INTERIOR_VIDEO_MUTED,
            BooleanKey.EXTERIOR_VIDEO_MUTED,
            BooleanKey.EXTERIOR_GENERAL_RECORDING,
            BooleanKey.PRIVATE_POLICY_HAS_AGREED
    })
    @interface BooleanKey {
        /**
         * 内存摄像头录像mic是否静音
         */
        String INTERIOR_VIDEO_MUTED = "interior_video_muted";
        /**
         * 外部摄像头（DVR）录像mic是否静音
         */
        String EXTERIOR_VIDEO_MUTED = "exterior_video_muted";
        /**
         * 外部摄像头（DVR）是否处理一般循环录像中
         */
        String EXTERIOR_GENERAL_RECORDING = "exterior_general_recording";
        /**
         * 隐私协议是否同意过
         */
        String PRIVATE_POLICY_HAS_AGREED = "private_policy_has_agreed";
    }
}
